|
マジックナンバーとは、ファイルなどオブジェクト類の形式を識別するもの、フォーマット識別子のことである〔 - ジャーゴンファイルではコンピュータ関連の4種類のマジックナンバーが示されており、本項のマジックナンバーは左記の3に相当する。〕。 なお、本項内でのマジックナンバーの具体的な値の表記には、特記無い限り16進表記を用いる。 ==概要== フォーマット識別子としてのマジックナンバーとは、ファイルの種類を識別するのに使われるファイル本文中の(内容中の)特定の位置にある特定の数値のことである。ファイルの種類を識別する方法としてはファイルの拡張子や属性値(プロパティ)を使う場合もあるが、マジックナンバーとはそれらのことではなく、ファイルの本文中に表れる特定の数値のことである。ほとんどの場合、マジックナンバーはファイルの先頭に位置し、数バイト程度である。 また、ファイル以外にもデータ構造を持ったオブジェクト全般、例えば、マスターブートレコードでのファイルシステムの種類を表す識別子なども、マジックナンバーと呼ばれている。 歴史を辿るとマジックナンバーは、PDP-11のヘッダ部分に配置されている、データをスキップしてプログラムの開始位置にジャンプするインストラクションコードを意味していた〔。例えば、ファイルの冒頭の1ワード(PDP-11は16ビットワードマシン)がリトルエンディアンの8進数で 0407 である場合、PDP-11の命令コードとしては相対アドレス指定の無条件分岐 0400 を意味し、8ワード先(オフセットビットの 07 は命令コードの位置を起点とするために、命令コード自体の1ワードを加算して8ワード先)にジャンプする命令となる。後にa.outフォーマットのマジックナンバーの一つO_MAGICとして認識されるようになった。抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「マジックナンバー (フォーマット識別子)」の詳細全文を読む スポンサード リンク
|